.source exemplo20.java
.class public exemplo20
.super java/lang/Object
.method public <init>()V
.limit stack 1
.limit locals 1
aload_0
invokespecial java/lang/Object/<init>()V
return
.end method

.method public static main([Ljava/lang/String;)V
.limit stack 10
.limit locals 16
 
getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Entre com as tres notas: "
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

new java/util/Scanner 
dup 
getstatic java/lang/System/in Ljava/io/InputStream; 
invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V 
invokevirtual java/util/Scanner/nextDouble()D 
dstore_1

new java/util/Scanner 
dup 
getstatic java/lang/System/in Ljava/io/InputStream; 
invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V 
invokevirtual java/util/Scanner/nextDouble()D 
dstore_3

new java/util/Scanner 
dup 
getstatic java/lang/System/in Ljava/io/InputStream; 
invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V 
invokevirtual java/util/Scanner/nextDouble()D 
dstore 5

getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Entre com o percentual de faltas:"
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

new java/util/Scanner 
dup 
getstatic java/lang/System/in Ljava/io/InputStream; 
invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V 
invokevirtual java/util/Scanner/nextDouble()D 
dstore 7

dload_1 
dload_3 
dadd 
dload 5
dadd 
ldc2_w 3.0 
ddiv 
dstore 9
dload 9
dstore 11
ldc "pendente"
astore 13
dload 7
ldc2_w 50.0 
dcmpg
ifgt VERDADEIRO_1
dconst_0 
goto CONTINUA_1
VERDADEIRO_1: 
dconst_1 
CONTINUA_1: 
dload 7
ldc2_w 25.0 
dcmpg
ifgt VERDADEIRO_2
dconst_0 
goto CONTINUA_2
VERDADEIRO_2: 
dconst_1 
CONTINUA_2: 
dload 9
ldc2_w 1.5
dcmpg
iflt VERDADEIRO_3
dconst_0 
goto CONTINUA_3
VERDADEIRO_3: 
dconst_1 
CONTINUA_3: 
dconst_1 
dcmpg 
ifeq E_PRIM_VERDADEIRO_1
pop2 
dconst_0 
goto E_FIM_1 
E_PRIM_VERDADEIRO_1: 
dconst_1 
dcmpg 
ifeq E_SEG_VERDADEIRO_1
dconst_0 
goto E_FIM_1 
E_SEG_VERDADEIRO_1: 
dconst_1 
E_FIM_1:
dconst_0 
dcmpg 
ifeq OU_PRIM_FALSO_1
pop2 
dconst_1 
goto OU_FIM_1 
OU_PRIM_FALSO_1: 
dconst_0 
dcmpg 
ifeq OU_SEG_FALSO_1
dconst_1 
goto OU_FIM_1 
OU_SEG_FALSO_1: 
dconst_0 
OU_FIM_1:
dconst_0
dcmpg
ifeq CONDICAO_FALSA_0
ldc "reprovado por faltas"
astore 13
goto FIM_SE_0
CONDICAO_FALSA_0:
dload 9
ldc2_w 1.5
dcmpg
iflt VERDADEIRO_4
dconst_0 
goto CONTINUA_4
VERDADEIRO_4: 
dconst_1 
CONTINUA_4: 
dconst_0
dcmpg
ifeq CONDICAO_FALSA_1
ldc "reprovado por nota"
astore 13
goto FIM_SE_1
CONDICAO_FALSA_1:
dload 9
ldc2_w 3.0 
dcmpg
iflt VERDADEIRO_5
dconst_0 
goto CONTINUA_5
VERDADEIRO_5: 
dconst_1 
CONTINUA_5: 
dconst_0
dcmpg
ifeq CONDICAO_FALSA_2
getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Nota minima para a prova final:"
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

getstatic java/lang/System/out Ljava/io/PrintStream;
ldc2_w 5.0 
dload 9
ldc2_w 0.4
dmul 
dsub 
ldc2_w 0.6
ddiv 
invokevirtual java/io/PrintStream/println(D)V

getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Entre com a nota da prova final:"
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

new java/util/Scanner 
dup 
getstatic java/lang/System/in Ljava/io/InputStream; 
invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V 
invokevirtual java/util/Scanner/nextDouble()D 
dstore 14

dload 9
ldc2_w 0.4
dmul 
dload 14
ldc2_w 0.6
dmul 
dadd 
dstore 11
goto FIM_SE_2
CONDICAO_FALSA_2:
FIM_SE_2:

FIM_SE_1:

FIM_SE_0:

dload 11
ldc2_w 5.0 
dcmpg
ifge VERDADEIRO_6
dconst_0 
goto CONTINUA_6
VERDADEIRO_6: 
dconst_1 
CONTINUA_6: 
dconst_0
dcmpg
ifeq CONDICAO_FALSA_3
ldc "aprovado"
astore 13
goto FIM_SE_3
CONDICAO_FALSA_3:
ldc "reprovado por nota"
astore 13
FIM_SE_3:

getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Media final: "
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

getstatic java/lang/System/out Ljava/io/PrintStream;
dload 11
invokevirtual java/io/PrintStream/println(D)V

getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Situacao: "
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

getstatic java/lang/System/out Ljava/io/PrintStream;
aload 13
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Faltas(%): "
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

getstatic java/lang/System/out Ljava/io/PrintStream;
dload 7
invokevirtual java/io/PrintStream/println(D)V


return
.end method
